package com.bt.service;

import com.bt.dto.YUserLoginDTO;
import com.bt.entity.UserPrev;
import com.bt.entity.YddUser;
import com.bt.dto.YddUserNewDTO;
import com.bt.entity.*;
import com.bt.result.PageResult;
import com.bt.vo.ShowVO;
import com.bt.vo.UserIndexShowVO;

import java.util.List;
import io.swagger.models.auth.In;

import java.util.List;

/**
 * @Description 前台基础数据接口
 * @Author 张传康
 * @Date 2023-05-04 22:53
 */
public interface YddUserIndexService {
    /**
     * 用户登录 张传康
     * @param yUserLoginDTO
     * @return
     */
    YddUser login(YUserLoginDTO yUserLoginDTO);

    /**
     * 注册用户
     * @param yUserLoginDTO
     * @return
     */
    YddUser req(YUserLoginDTO yUserLoginDTO);

    /**
     * 热门置顶文章数据(首页) 的 分页数据
     * @param page
     * @param limit
     * @return
     */
    PageResult page(Integer page, Integer limit);

    /**
     * 24小时最新文章数量
     * @return
     */
    Integer numDay();

    /**
     * 一周文章最新数量
     * @return
     */
    Integer numWeek();


    /**
     * 文章详情数据UserIndexShowVO
     * @param id
     * @return
     */
    ShowVO show(Integer id);


    /**
     * 文章列表数据（根据分类id（cateid)展示文章
     * @param page
     * @param limit
     * @param cateid
     * @return
     */
    PageResult pageList(Integer page, Integer limit, Integer cateid);

    /**
     * 查询所有分类
     * @return
     */
    List<YddCate> findAllCate();

    /**
     * 查询所有友情链接
     * @return
     */
    List<YddLink> findAllLink();

    /**
     * 查询所有标签
     * @return
     */
    List<YddTag> findAllTag();

    /**
     * 轮播图数据  advimgpos=15
     * @param i
     * @return
     */
    List<YddAdvimg> findBanner(Integer i);

    /**
     * 详情广告图 advimgpos=13 or advimgpos=15
     * @param i
     * @param i1
     * @return
     */
    List<YddAdvimg> findShowBanner(Integer advimgpos1, Integer advimgpos2);

    /**
     * 侧边栏图片 advimgpos=14
     * @param advimgpos
     * @return
     */
    List<YddAdvimg> findSideBanner(Integer advimgpos);

    /**
     * 最新文章
     * @return
     */
    List<YddUserNewDTO> findHot();

    /**
     * 推荐文章
     * @return
     */
    List<YddUserNewDTO> findRecommend();
}
